home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / smaltalk / manchest.lha / MANCHESTER / usenet / st80_pre4 / cursor-from-text.st < prev    next >
Text File  |  1993-07-24  |  2KB  |  59 lines

  1. "    NAME        cursor-from-text
  2.     AUTHOR        pieter@prls.UUCP (Pieter van der Meulen)
  3.     FUNCTION A routine to create a cursor from a string 
  4.     ST-VERSIONS    
  5.     PREREQUISITES     
  6.     CONFLICTS    
  7.     DISTRIBUTION      world
  8.     VERSION        1.1
  9.     DATE    10 Mar 1989
  10. SUMMARY 
  11. The following example allows you to create new Cursor
  12. from a small String, e.g. 'S', 'III', or (5 printString).
  13. A simple count down example is included in the comment
  14. of the method below.
  15. "
  16. '
  17. Newsgroups: comp.lang.smalltalk
  18. Subject: A SMALLtalk-80 goodie
  19. Keywords: example, source, smalltalk, cursor
  20. Message-ID: <19836@prls.UUCP>
  21. Organization: Philips Res. Labs, Sunnyvale, CA
  22.  
  23. Have fun, Pieter.
  24.  
  25. P.S. van der Meulen, MS 02        prls!!pieter
  26. PRLS, Signetics div. of NAPC      -----------
  27. 811 E.Arques Avenue, Sunnyvale, CA 94088-3409
  28. '
  29.  
  30. !Cursor class methodsFor: 'instance creation'!
  31.  
  32. fromString: aString emphasis: anInteger
  33.     "Create a Cursor specified by aString. 
  34.     Be sure to keep aString small, e.g. 'S' or '2'.
  35.     The emphasis is specified by anInteger and
  36.     could be 1 (normal), 2 (bold), 3 (italic), etc.
  37.     Written by Pieter S. van der Meulen."
  38.  
  39.     "Cursor blank showWhile: [9 to: 0 by: -1 do: [:aNumber | 
  40.         (Cursor fromString: aNumber printString emphasis: 2) 
  41.             showWhile: [(Delay forMilliseconds: 500) wait]]]"
  42.  
  43.     | aForm aCursor |
  44.     aForm _ (Text string: aString emphasis: anInteger) asDisplayText form.
  45.     aCursor _ Cursor
  46.                 extent: 16 @ 16
  47.                 fromArray: #(65535 32769 32769 32769 32769
  48. 32769 32769 32769 32769 32769 32769 32769 32769 32769 32769 65535)
  49.                 offset: 0 @ 0.
  50.     aCursor
  51.         copyBits: aForm boundingBox
  52.         from: aForm
  53.         at: 8 @ 8 - aForm boundingBox center
  54.         clippingBox: (aCursor boundingBox insetBy: 1 @ 1)
  55.         rule: Form over
  56.         mask: Form black.
  57.     ^aCursor! !
  58.  
  59.